前提
- 假设你已经正常使用 [email protected] 作为 GitHub 的账户,希望添加 [email protected] 作为 GitHub 的另一个账户。
- 假定 [email protected] 是更经常使用的账户,[email protected] 只是为了测试或较少使用。
创建新的 ssh 密钥
可以使用 ssh-keygen 来创建新的 ssh 密钥:
ssh-keygen -C "[email protected]"
创建过程中,假定使用 /Users/YOURNAME/.ssh/id_rsa2 作为存储路径,并且 ssh 密钥的密码为空。
创建后,将 id_rsa2.pub 也即公钥添加到 [email protected] 对应的 GitHub 账户中。
配置 ssh 的 config
编辑 ~/.ssh/config,添加类似下面的内容:
|
|
编辑后,测试连接是否成功。如果成功,会有类似下面的提示:
|
|
核心原理就是,当 ssh 尝试访问某域名时,会尝试和 config 中 Host
对应的记录匹配。如果匹配成功,就会使用该记录中 HostName
的值作为真正的域名、以及使用 IdentityFile
对应的私钥进行配对。这样,既可以实现把 github.cn
当作 github.com
访问、又可以匹配到正常的私钥。
这里,github.cn
只是个代号,你可以使用任何其它你喜欢的域名。
对 git 项目使用适当的 ssh 连接
前面提到,假定 [email protected] 是更经常使用的账户,这样我们可以设置该账户为全局默认的 git 账户。通常,你已经这么设置了。不过,如果可以通过下面的命令再次设置以确认。
|
|
而对于不经常使用的、需要使用 [email protected] 账户的 git 仓库,则需要手动设置当前仓库的账户信息。
|
|
并且,需要修改仓库地址。比如,如果原来的仓库地址是:[email protected]:user2/test.git
则需要修改为:[email protected]:user2/test.git
设置结束后,可以分别到使用不同账户的仓库进行测试。
至此,结束。